package com.ruoyi.car.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单管理对象 car_order
 * 
 * @author ruoyi
 * @date 2024-04-07
 */
public class CarOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单id */
    private Long id;

    /** 购车人 */
    @Excel(name = "购车人")
    private String name;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String phone;

    /** 购车id */
    @Excel(name = "购车id")
    private Long goodsId;

    /** 所购车辆 */
    @Excel(name = "所购车辆")
    private String goodsName;

    /** 身份证号码 */
    @Excel(name = "身份证号码")
    private String card;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd hh:mm:ss")
    private Date payDate;

    /** 支付金额 */
    @Excel(name = "支付金额")
    private BigDecimal total;

    /** 购车方式 */
    @Excel(name = "购车方式")
    private String way;

    /** 征信报告 */
    @Excel(name = "征信报告")
    private String zheng;

    /** 银行流水 */
    @Excel(name = "银行流水")
    private String water;

    /** 结婚证/单身证 */
    @Excel(name = "结婚证/单身证")
    private String hun;

    /** 身份证（正面） */
    @Excel(name = "身份证(正面)")
    private String cardFront;

    /** 身份证（反面） */
    @Excel(name = "身份证(反面)")
    private String cardBack;

    /** 订单流程 */
    private String allPath;

    /** 订单状态 */
    private String currentPath;

    /** 微信用户id */
    @Excel(name = "微信用户id")
    private Long wxUserId;

    //以下为非数据库字段
    /**
     * 订单状态描述
     */
    @Excel(name = "订单状态")
    private String currentPathDesc;

    /**
     * 车辆信息
     */
    private CarGoods goods;
    /**
     * 是否需要车辆信息
     */
    private Boolean needGoodsInfo;


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }
    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }
    public void setCard(String card) 
    {
        this.card = card;
    }

    public String getCard() 
    {
        return card;
    }
    public void setPayDate(Date payDate) 
    {
        this.payDate = payDate;
    }

    public Date getPayDate() 
    {
        return payDate;
    }
    public void setTotal(BigDecimal total) 
    {
        this.total = total;
    }

    public BigDecimal getTotal() 
    {
        return total;
    }
    public void setWay(String way) 
    {
        this.way = way;
    }

    public String getWay() 
    {
        return way;
    }
    public void setZheng(String zheng) 
    {
        this.zheng = zheng;
    }

    public String getZheng() 
    {
        return zheng;
    }
    public void setWater(String water) 
    {
        this.water = water;
    }

    public String getWater() 
    {
        return water;
    }
    public void setHun(String hun) 
    {
        this.hun = hun;
    }

    public String getHun() 
    {
        return hun;
    }
    public void setCardFront(String cardFront) 
    {
        this.cardFront = cardFront;
    }

    public String getCardFront() 
    {
        return cardFront;
    }
    public void setCardBack(String cardBack) 
    {
        this.cardBack = cardBack;
    }

    public String getCardBack() 
    {
        return cardBack;
    }
    public void setAllPath(String allPath) 
    {
        this.allPath = allPath;
    }

    public String getAllPath() 
    {
        return allPath;
    }
    public void setCurrentPath(String currentPath) 
    {
        this.currentPath = currentPath;
    }

    public String getCurrentPath() 
    {
        return currentPath;
    }
    public void setWxUserId(Long wxUserId) 
    {
        this.wxUserId = wxUserId;
    }

    public Long getWxUserId() 
    {
        return wxUserId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("phone", getPhone())
            .append("goodsId", getGoodsId())
            .append("goodsName", getGoodsName())
            .append("card", getCard())
            .append("payDate", getPayDate())
            .append("total", getTotal())
            .append("way", getWay())
            .append("zheng", getZheng())
            .append("water", getWater())
            .append("hun", getHun())
            .append("cardFront", getCardFront())
            .append("cardBack", getCardBack())
            .append("allPath", getAllPath())
            .append("currentPath", getCurrentPath())
            .append("wxUserId", getWxUserId())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }

    public String getCurrentPathDesc() {
        return currentPathDesc;
    }

    public void setCurrentPathDesc(String currentPathDesc) {
        this.currentPathDesc = currentPathDesc;
    }

    public CarGoods getGoods() {
        return goods;
    }

    public void setGoods(CarGoods goods) {
        this.goods = goods;
    }

    public Boolean getNeedGoodsInfo() {
        return needGoodsInfo;
    }

    public void setNeedGoodsInfo(Boolean needGoodsInfo) {
        this.needGoodsInfo = needGoodsInfo;
    }
}
